﻿
//校验Combobox输入的文字是否包含在下拉框中，true代表包含，false代表不包含

function checkComboGridValue(id, valueField) {
	var value = $("#" + id).combo('getValue');
	var allData = $("#" + id).combogrid('grid').datagrid("getRows");
	var result = false;
	for (var i = 0; i < allData.length; i++) {
		console.log('value', allData[i][valueField]);
		if (value == allData[i][valueField]) {
			result = true;
			break;
		}
	}
	return result;
}

var sleep = function (time) {
	var startTime = new Date().getTime() + parseInt(time, 10);
	while (new Date().getTime() < startTime) {
	}
};

//弹出加载层
/*function load() {
	$("<div class=\"datagrid-mask\"></div>").css({
		display: "block",
		width: "100%",
		height: $(window).height()
	}).appendTo("body");
	$("<div class=\"datagrid-mask-msg\"></div>").html("加载中，请稍候。。。").appendTo("body").css({
		display: "block",
		left: ($(document.body).outerWidth(true) - 190) / 2,
		top: ($(window).height() - 45) / 2
	});
}

//取消加载层
function disLoad() {
	$(".datagrid-mask").remove();
	$(".datagrid-mask-msg").remove();
}*/


// 获取当前日期前30天并格式化
function getBeforeCurrentDateDays(months) {
	let day_30 = new Date().setMonth((new Date().getMonth() - months));    //日期是30天前的对应时间戳
	day_30 = new Date(day_30);       //转换成标准时间
	let y = day_30.getFullYear();    //年
	let m = day_30.getMonth() + 1;    //月
	let d = day_30.getDate();         //日
	if (m < 10) {
		m = '0' + m;
	}
	if (d < 10) {
		d = '0' + d;
	}
	day_30 = y + '-' + m + '-' + d;
	return day_30;
}

// 获取当前日期前30天并格式化
function getBeforeCurrentDate90Days() {
	let day_30 = new Date().setMonth((new Date().getMonth() - 3));    //日期是30天前的对应时间戳
	day_30 = new Date(day_30);       //转换成标准时间
	let y = day_30.getFullYear();    //年
	let m = day_30.getMonth() + 1;    //月
	let d = day_30.getDate();         //日
	if (m < 10) {
		m = '0' + m;
	}
	if (d < 10) {
		d = '0' + d;
	}
	day_30 = y + '-' + m + '-' + d;
	return day_30;
}

// 获取当前日期前30天并格式化
function getBeforeCurrentDate30Days() {
	let day_30 = new Date().setMonth((new Date().getMonth() - 1));    //日期是30天前的对应时间戳
	day_30 = new Date(day_30);       //转换成标准时间
	let y = day_30.getFullYear();    //年
	let m = day_30.getMonth() + 1;    //月
	let d = day_30.getDate();         //日
	if (m < 10) {
		m = '0' + m;
	}
	if (d < 10) {
		d = '0' + d;
	}
	day_30 = y + '-' + m + '-' + d;
	return day_30;
}

//获取当前日期并格式化
function getNowFormatDate() {
	var date = new Date();
	var seperator1 = "-";
	var year = date.getFullYear();
	var month = date.getMonth() + 1;
	var strDate = date.getDate();
	if (month >= 1 && month <= 9) {
		month = "0" + month;
	}
	if (strDate >= 0 && strDate <= 9) {
		strDate = "0" + strDate;
	}
	var currentdate = year + seperator1 + month + seperator1 + strDate;
	return currentdate;
}

/**
 * 交货工厂
 * @type {({code: string, label: string}|{code: string, label: string}|{code: string, label: string})[]}
 */
var draDeliveryFactoryEnum = [
	{
		code: '1000',
		label: '山东海科新源材料工厂'
	},
	{
		code: '1010',
		label: '江苏思派新能源工厂'
	},
	{
		code: '2010',
		label: '欧洲公司工厂'
	},
	{
		code: '1020',
		label: '湖北新源工厂'
	},
	{
		code: '1030',
		label: '湖北浩科工厂'
	},
	{
		code: '1040',
		label: '新蔚源工厂'
	},
	{
		code: '2000',
		label: '上海宝山工厂'
	}
]

//获取当前日期并格式化
function getNowFormatTime() {
	var date = new Date();
	var y = date.getFullYear();
	var m = date.getMonth() + 1;
	var d = date.getDate();
	var h = date.getHours();
	var mi = date.getMinutes();
	var s = date.getSeconds();
	return y + '-' + (m < 10 ? ('0' + m) : m) + '-' + (d < 10 ? ('0' + d) : d) + ' ' + (h < 10 ? ('0' + h) : h) + ':' + (mi < 10 ? ('0' + mi) : mi) + ':' + (s < 10 ? ('0' + s) : s);
	// return y + '-' + (m < 10 ? ('0' + m) : m) + '-' + (d < 10 ? ('0' + d) : d) + '-' + (h < 10 ? ('0' + h) : h) + '-' + (mi < 10 ? ('0' + mi) : mi) + '-' + (s < 10 ? ('0' + s) : s);
}

function myformatter(date) {
	var y = date.getFullYear();
	var m = date.getMonth() + 1;
	var d = date.getDate();
	return y + '-' + (m < 10 ? ('0' + m) : m) + '-' + (d < 10 ? ('0' + d) : d);
}

function myformatterDateTime(date) {
	var y = date.getFullYear();
	var m = date.getMonth() + 1;
	var d = date.getDate();
	var h = date.getHours();
	var mi = date.getMinutes();
	var s = date.getSeconds();
	return y + '-' + (m < 10 ? ('0' + m) : m) + '-' + (d < 10 ? ('0' + d) : d) + ' ' + (h < 10 ? ('0' + h) : h) + ':' + (mi < 10 ? ('0' + mi) : mi) + ':' + (s < 10 ? ('0' + s) : s);
	// return y + '-' + (m < 10 ? ('0' + m) : m) + '-' + (d < 10 ? ('0' + d) : d) + '-' + (h < 10 ? ('0' + h) : h) + '-' + (mi < 10 ? ('0' + mi) : mi) + '-' + (s < 10 ? ('0' + s) : s);
}

// 日期选择格式化
function myparser(s) {
	if (!s) return new Date();
	var ss = (s.split('-'));
	var y = parseInt(ss[0], 10);
	var m = parseInt(ss[1], 10);
	var d = parseInt(ss[2], 10);
	if (!isNaN(y) && !isNaN(m) && !isNaN(d)) {
		return new Date(y, m - 1, d);
	} else {
		return new Date();
	}
}

// 日期时间选择格式化
function myparserDateTime(s) {

	if (!s) return new Date();
	var ss = (s.split('-'));
	var y = parseInt(ss[0], 10);
	var m = parseInt(ss[1], 10);
	var d = parseInt(ss[2], 10);
	var time = ss[2].substr(3)
	var times = time.split(':')
	var h = parseInt(times[0], 10);
	var mi = parseInt(times[1], 10);
	var se = parseInt(times[2], 10);
	if (!isNaN(y) && !isNaN(m) && !isNaN(d)) {
		return new Date(y, m - 1, d, h, mi, se);
	} else {
		return new Date();
	}
}

function getWidth(percent) {
	return document.body.clientWidth * percent;
}

function clearForm() {
	$('.ssec-form input').attr('value', '');
}


/**
 tab关闭事件
 @param    tabId        tab组件Id
 @param    tabMenuId    tab组件右键菜单Id
 @param    type        tab组件右键菜单div中的name属性值
 */
function CloseTab(tabId, tabMenuId, type) {
	//tab组件对象
	var tabs = $('#' + tabId);
	//tab组件右键菜单对象
	var tab_menu = $('#' + tabMenuId);

	//获取当前tab的标题
	var curTabTitle = tab_menu.data('tabTitle');

	//关闭当前tab
	if (type === 'tab_menu-tabclose') {
		//通过标题关闭tab
		tabs.tabs("close", curTabTitle);
	}

	//关闭全部tab
	else if (type === 'tab_menu-tabcloseall') {
		//获取所有关闭的tab对象
		var closeTabsTitle = getAllTabObj(tabs);
		//循环删除要关闭的tab
		$.each(closeTabsTitle, function () {
			var title = this;
			tabs.tabs('close', title);
		});
	}

	//关闭其他tab
	else if (type === 'tab_menu-tabcloseother') {
		//获取所有关闭的tab对象
		var closeTabsTitle = getAllTabObj(tabs);
		//循环删除要关闭的tab
		$.each(closeTabsTitle, function () {
			var title = this;
			if (title != curTabTitle) {
				tabs.tabs('close', title);
			}
		});
	}

	//关闭当前左侧tab
	else if (type === 'tab_menu-tabcloseleft') {
		//获取所有关闭的tab对象
		var closeTabsTitle = getLeftToCurrTabObj(tabs, curTabTitle);
		//循环删除要关闭的tab
		$.each(closeTabsTitle, function () {
			var title = this;
			tabs.tabs('close', title);
		});
	}

	//关闭当前右侧tab
	else if (type === 'tab_menu-tabcloseright') {
		//获取所有关闭的tab对象
		var closeTabsTitle = getRightToCurrTabObj(tabs, curTabTitle);
		//循环删除要关闭的tab
		$.each(closeTabsTitle, function () {
			var title = this;
			tabs.tabs('close', title);
		});
	}
}

/**
 获取所有关闭的tab对象
 @param    tabs    tab组件
 */
function getAllTabObj(tabs) {
	//存放所有tab标题
	var closeTabsTitle = [];
	//所有所有tab对象
	var allTabs = tabs.tabs('tabs');
	$.each(allTabs, function () {
		var tab = this;
		var opt = tab.panel('options');
		//获取标题
		var title = opt.title;
		//是否可关闭 ture:会显示一个关闭按钮，点击该按钮将关闭选项卡
		var closable = opt.closable;
		if (closable) {
			closeTabsTitle.push(title);
		}
	});
	return closeTabsTitle;
}

/**
 获取左侧第一个到当前的tab
 @param    tabs        tab组件
 @param    curTabTitle    到当前的tab
 */
function getLeftToCurrTabObj(tabs, curTabTitle) {
	//存放所有tab标题
	var closeTabsTitle = [];
	//所有所有tab对象
	var allTabs = tabs.tabs('tabs');
	for (var i = 0; i < allTabs.length; i++) {
		var tab = allTabs[i];
		var opt = tab.panel('options');
		//获取标题
		var title = opt.title;
		//是否可关闭 ture:会显示一个关闭按钮，点击该按钮将关闭选项卡
		var closable = opt.closable;
		if (closable) {
			//alert('title' + title + '  curTabTitle:' + curTabTitle);
			if (title == curTabTitle) {
				return closeTabsTitle;
			}
			closeTabsTitle.push(title);
		}
	}
	return closeTabsTitle;
}

/**
 获取当前到右侧最后一个的tab
 @param    tabs        tab组件
 @param    curTabTitle    到当前的tab
 */
function getRightToCurrTabObj(tabs, curTabTitle) {
	//存放所有tab标题
	var closeTabsTitle = [];
	//所有所有tab对象
	var allTabs = tabs.tabs('tabs');
	for (var i = (allTabs.length - 1); i >= 0; i--) {
		var tab = allTabs[i];
		var opt = tab.panel('options');
		//获取标题
		var title = opt.title;
		//是否可关闭 ture:会显示一个关闭按钮，点击该按钮将关闭选项卡
		var closable = opt.closable;
		if (closable) {
			//alert('title' + title + '  curTabTitle:' + curTabTitle);
			if (title == curTabTitle) {
				return closeTabsTitle;
			}
			closeTabsTitle.push(title);
		}
	}
	return closeTabsTitle;
}

//-->